package com.agile.leetcode.jdk8.zonedatetime;

import org.junit.Test;

import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;

/**
 * @Author KD
 * @Date 2021/1/23 16:25
 */
public class ZoneDateTimeDemo {
    /**
     * 本地偏移量的获取
     */
    @Test
    public void test1() {
        ZonedDateTime dateTime = ZonedDateTime.now();
        System.out.println(dateTime );
        // 美国的获取
        ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("America/New_York"));
        System.out.println("美国时间" + zonedDateTime);
    }

    /**
     * 日期的转换
     */
    @Test
    public void test2() {
        LocalDateTime localDateTime = LocalDateTime.of(2020, 1, 23, 14, 48, 26);
        //
        System.out.println("北京时间" + localDateTime);
        // 转换
        ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, ZoneId.of("America/New_York"));
        System.out.println("美国时间" + zonedDateTime);
        // d对应的美国时间
        ZonedDateTime zonedDateTime1 = ZonedDateTime.ofInstant(localDateTime.toInstant(ZoneOffset.ofHours(8)), ZoneOffset.ofHours(-5));
        System.out.println("对应的美国时间" + zonedDateTime1);
    }
}
